﻿using FreeSql.DataAnnotations;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace RTW.Models
{
    [JsonObject(MemberSerialization.OptIn)]
    public class TCategory
    {
        //门类编号
        [JsonProperty, Column(IsPrimary = true)]
        public string ID { get; set; }
        //门类名称
        [JsonProperty]
        public string CName { get; set; }
        //门类类型
        [JsonProperty]
        public string CType { get; set; }
        //门类对应的数据库表名
        [JsonProperty]
        public string DBTable { get; set; }
        //门类的档号编制公式
        [JsonProperty]
        public string DHformula { get; set; }
        //备注
        [JsonProperty]
        public string Remarks { get; set; }
        //系统级
        [JsonProperty]
        public bool IsSys { get; set; }

        //个人
        [JsonProperty]
        public string UserID{ get; set; }
        //机构
        [JsonProperty]
        public string DMID { get; set; }

        //父门类节点
        [JsonProperty]
        public string ParentID { get; set; }


        #region 外键 => 导航属性，ManyToMany
        /// <summary>
        /// 门类下的门类
        /// </summary>
        [JsonProperty]
        [Navigate(nameof(ParentID))]
        public List<TCategory> CategoryS { get; set; }
        #endregion
    }
}
